import os,sys,time
from datetime import datetime
a,x,n,s,t=0,0,0,0,0
def Menu():
    global a
    while True:
        print('\n--------------- BMR计算器菜单 ---------------')
        a = input('1.BMR计算 \n2.历史记录功能 \n3.退出程序 \n')
        if a=='1':
            Count()
        elif a=='2':
            lsjlmenu()
        elif a=='3':
            try:
                os.remove('D:\WorkSpace\pythonProject\A.text')
                jdt('退出')
                print('\n感谢使用，下次再见^_^')
            except FileNotFoundError:
                jdt('退出')
                print('\n感谢使用，下次再见^_^')
            break
        else:
            print('提示：输入错误，请输入数字1-3！')
            djs('返回主菜单')
def Count():
    global b0,bmr
    try:
        while True:
            b0 = input(
                '\n请依次输入您的性别(男或女),年龄（岁），身高（cm），体重（kg）,使用中文逗号隔开\n(回复0退出计算功能回到主菜单)\n')
            b = b0.split('，')
            if b[0] == '男':
                n, s, t = eval(b[1]), eval(b[2]), eval(b[3])
                bmr = 66 + (13.7 * t) + (5 * s) - (6.8 * n)
                jdt('计算')
                print('\n计算完毕！\nBMR指数为:{:.2f}'.format(bmr))
                lsjl()
            elif b[0] == '女':
                n, s, t = eval(b[1]), eval(b[2]), eval(b[3])
                bmr = 655 + (9.6 * t) + (1.8 * s) - (4.7 * n)
                jdt('计算')
                print('\n计算完毕！\nBMR指数为:{:.2f}'.format(bmr))
                lsjl()
            elif b0 == '0':
                jdt('返回')
                break
            else:
                print('提示：输入错误，请输入正确格式！')
                djs('重新输入')
    except IndexError:
        print('提示：输入错误，请输入正确格式！')
        djs('重新输入')
def lsjlmenu():
    try:
        while True:
            A = open('D:\WorkSpace\pythonProject\A.text', 'r')
            print('\n---历史记录功能---')
            ls = input('1.打开历史记录\n2.清空历史记录\n3.删除历史记录\n4.回到主菜单\n')
            if ls == '1':
                jdt('打开')
                os.startfile('D:\\WorkSpace\\pythonProject\\A.text')
                print('\n已打开！')
            elif ls == '2':
                B = open('D:\WorkSpace\pythonProject\A.text', 'w')
                print('', file=B)
                B.close()
                jdt('清空')
                print('\n清空完毕！')
            elif ls == '3':
                A.close()
                os.remove('D:\WorkSpace\pythonProject\A.text')
                jdt('删除')
                print('\n删除完毕！')
                djs('正在返回主菜单')
                break
            elif ls == '4':
                A.close()
                break
            else:
                print('提示：输入错误，请输入数字1-4！')
                djs('返回历史功能菜单')
    except FileNotFoundError:
        print('暂无历史记录！')
def lsjl():
    global b0,bmr
    A = open('D:\WorkSpace\pythonProject\A.text', 'a+')
    t = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
    print('{0}   {1}   {2}'.format(t, b0, bmr), file=A)
    A.close()
def jdt(d):
    for i in range(0, 101):
        jindu = round(i / 100 * 100)
        print( '\r','▓' * (jindu // 3),'正在{}中'.format(d),"{}%".format(jindu), end="")
        sys.stdout.flush()
        time.sleep(0.00000000000005)
def djs(e):
    for t in range(4, 8):
        print('\r--------------', '{0}秒后{1}'.format(7 % t,e), '--------------', end="")
        sys.stdout.flush()
        time.sleep(1)
Menu()